#!/usr/bin/python
#coding=utf-8

class Error(Exception):
    def __init__(self, msg):
        Exception.__init__(self, msg)
        self.msg = msg
    def __str__(self):
        return str(self.msg)
    
    def __call__(self):
        return (self.msg,)

class ApiError(Error):
    def __init__(self, msg):
        Error.__init__(self, msg)

    def __call__(self):
        return (self.code, Error.__str__(self))

class OperatorError(Error):
    def __init__(self, msg):
        Error.__init__(self, msg)

class SubjectError(Error):
    def __init__(self, msg):
        Error.__init__(self, msg)


class SearchTypeError(Error):
    def __init__(self, msg):
        Error.__init__(self, msg)

class AuthTokenError(Error):
    def __init__(self, msg):
        Error.__init__(self, msg)

class StructError(Error):
    def __init__(self, msg):
        Error.__init__(self, msg)


class URLError(Error):
    '''
    网络错误，可能是网络链接错误等
    '''
    def __init__(self, msg):
        Error.__init__(self, msg)